1   /*
2    * Copyright (C) 2007 The Guava Authors
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  package com.google.common.collect;
18  
19  import com.google.common.annotations.GwtCompatible;
20  import com.google.common.collect.testing.MapInterfaceTest;
21  
22  import java.util.Collection;
23  import java.util.Map;
24  
25  /**
26   * Test {@link Multimap#asMap()} for a constrained multimap with
27   * {@link MapInterfaceTest}.
28   *
29   * @author George van den Driessche
30   */
31  @GwtCompatible
32  public class ConstrainedMultimapAsMapImplementsMapTest
33      extends AbstractMultimapAsMapImplementsMapTest {
34  
35    public ConstrainedMultimapAsMapImplementsMapTest() {
36      super(true, true, true);
37    }
38  
39    @Override protected Map<String, Collection<Integer>> makeEmptyMap() {
40      return MapConstraints.constrainedMultimap(
41          ArrayListMultimap.<String, Integer>create(),
42          MapConstraintsTest.TEST_CONSTRAINT)
43          .asMap();
44    }
45  
46    @Override protected Map<String, Collection<Integer>> makePopulatedMap() {
47      Multimap<String, Integer> delegate = ArrayListMultimap.create();
48      populate(delegate);
49      return MapConstraints.constrainedMultimap(
50              delegate, MapConstraintsTest.TEST_CONSTRAINT)
51          .asMap();
52    }
53  }